﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;
using DTOAuction;
using System.Configuration;

namespace DAOAuction
{
    public class DAOHocPhanMo
    {
        // thêm học phần mở vào:
        public int themHocPhanMoMoi(int maKhoaHoc, int maMonHoc, int namHoc, int hocKy)
        {
            int _ketqua = 1;
            try
            {
                LinqDataContext db = new LinqDataContext(global::DAOAuction.Properties.Settings.Default.QUANLYGIAODUCConnectionString);
                db.HOCPHANMO_add(maKhoaHoc, maMonHoc, namHoc, hocKy);
            }
            catch
            {
                _ketqua = 0;
            }
            return _ketqua;
        }
        // cập nhật học phần mở với slsvdk_dukien:
        public int suaHocPhanMo_SLSVDK_DUKIEN(int slsvdk_dukien, int maKhoaHoc, int maMonHoc, int namHoc, int hocKy)
        {
            int _ketqua = 1;
            try
            {
                LinqDataContext db = new LinqDataContext(global::DAOAuction.Properties.Settings.Default.QUANLYGIAODUCConnectionString);
                db.HOCPHANMO_fix_SLSVDK_DUKIEN(slsvdk_dukien, maKhoaHoc, maMonHoc, namHoc, hocKy);
            }
            catch
            {
                _ketqua = 0;
            }
            return _ketqua;
        }
        // lấy thông tin học phần mở với năm học, học kì:
        public List<HOCPHANMO> layDanhSachHocPhanMo_NamHoc_HocKy(int namHoc, int hocKy)
        {
            List<HOCPHANMO> lstHocPhanMo = new List<HOCPHANMO>();
            using (LinqDataContext db = new LinqDataContext(global::DAOAuction.Properties.Settings.Default.QUANLYGIAODUCConnectionString))
            {
                ISingleResult<HOCPHANMO_getallwithNamHoc_HocKyResult> lp = db.HOCPHANMO_getallwithNamHoc_HocKy(namHoc, hocKy);
                foreach (HOCPHANMO_getallwithNamHoc_HocKyResult HOCPHANMO in lp)
                {
                    HOCPHANMO var1 = new HOCPHANMO();
                    var1.MAHPMO = HOCPHANMO.MAHPMO;
                    var1.MAKHOAHOC = HOCPHANMO.MAKHOAHOC;
                    var1.MAMONHOC = HOCPHANMO.MAMONHOC;
                    var1.NAMHOC = HOCPHANMO.NAMHOC;
                    var1.HOCKY = HOCPHANMO.HOCKY;
                    var1.SLSVDK_DUKIEN = HOCPHANMO.SLSVDK_DUKIEN;
                    lstHocPhanMo.Add(var1);
                }
                try
                {
                    // Save the changes.
                    db.SubmitChanges();
                }
                // Detect concurrency conflicts.
                catch (ChangeConflictException)
                {
                    // Resolve conflicts.
                    db.ChangeConflicts.ResolveAll(RefreshMode.KeepChanges);
                }
            }
            return lstHocPhanMo;
        }
    }
}